Architecture Net или что такое Microsoft.NET?

         

Architecture Net или что такое Microsoft.NET?

Что такое Microsoft .NET?
Microsoft и Web
Приложения в эпоху Internet

Web-службы
ASP.NET
Открытые стандарты и возможность взаимодействия (функциональная совместимость)
Протоколы обмена
Windows на рабочем столе


Проблемы с Windows
Стеклянный дом и тонкие клиенты
Устойчивая Windows
Новая платформа программирования
Каркас NET Framework

Общеязыковая среда выполнения CLR (Common Language Runtime)
Разработка приложений на разных языках
Инструментальные средства разработки
Важность инструментальных средств разработки
Роль языка XML
Факторы, определяющие успех Web-служб
Резюме

Основы технологии .NET


Основы технологии .NET

Проблемы, связанные с разработкой Windows-приложений
Приложения будущего
Обзор платформы .NET
Волшебство метаданных
Библиотека классов .NET Framework
Программирование на основе интерфейсов
Объектом является все
Общая система типов
ILDASM — дисассемблер промежуточного языка Microsoft
Возможность взаимодействия языков, или функциональная совместимость

Управляемый код
Сборки
JIТ-компиляция, или оперативная компиляция
Производительность
Резюме

Программирование на управляемом C++


Программирование на управляемом C++
Место C++ в мире .NET
Использование расширений управляемого C++
Ваша первая программа на управляемом C++.NET

Программа HelloWorld (Привет, мир)
Директива #using и оператор using
Стандартный ввод-вывод
Класс System:: string (Система::Строка)
Класс System: :Array (Система::МAССИВ)
Программа Hotel (Гостиница)
Отображение C++ на спецификацию общего (универсального) языка (CLS) и .NET Framework
Типы данных C++ и общеязыковая среда выполнения CLR
Типы данных C++ и .NET Framework
Программирование на C++ для платформы .NET

Управляемые и неуправляемые типы
Управление сборкой мусора
Типовая безопасность
Типы значений
Абстрактные типы
Интерфейсы
Упаковка и распаковка примитивных типов данных
Делегаты
События
Свойства

Закрепление управляемых объектов
Конечные классы
Управляемое приведение типов
Определение ключевых слов в качестве идентификаторов
Обработка исключений
Атрибуты C++
Резюме

Объектно-ориентированное программирование на управляемом C++


Объектно-ориентированное программирование на управляемом C++
Обзор основных понятий объектно-ориентированного программирования

Объекты
Классы
Полиморфизм
Проект: "Бюро путешествий Acme"
Проектирование абстракций
Логика базовых классов
Проектирование инкапсуляции
Наследование в управляемом C++
Основные принципы наследования
Реализация примера "Бюро путешествий Acme"

Запуск программы примера
Класс HotelReservation
Класс HotelBroker
Класс Customers (Клиенты)
Пространство имен
Класс TestHotel
Резюме

Управляемый C++ в .NET Framework


Управляемый C++ в .NET Framework
Объект системы: System::Object

Общедоступные методы экземпляров класса Object (Объект)
Защищенные методы экземпляров класса object (Объект)
Родовые интерфейсы и обычное поведение
Использование методов класса object (Объект) в классе Customer (Клиент)
Коллекции
Пример класса ArrayList (Список массивов)
Интерфейсы
Основные сведения об интерфейсах
Программирование с использованием интерфейсов
Динамическое использование интерфейсов

Программа Бюро путешествий Acme (Acme Travel Agency)
Явное определение интерфейсов
Родовые интерфейсы в .NET
Интерфейсы коллекций
Копирование объектов и интерфейс icioneable
Сравнение объектов
Что такое каркасы приложений
Делегаты
Объявление делегата
Определение метода

Создание экземпляра делегата
Вызов делегата
Объединение экземпляров делегатов
Полный пример
Моделирование фондовой биржи
События
События в управляемом C++ и .NET
Описание сервера
Описание клиента
Комната для дискуссий: пример чат-программы

Резюме

Создание графических пользовательских интерфейсов


Создание графических пользовательских интерфейсов
Иерархия Windows Forms (Формы Windows)
Создание простых форм с помощью комплекса инструментальных средств разработки программ .NET SDK
Шаг 0: Создание простой формы
Шаг 1: Отображение текста на форме
Обработка событий в Windows Forms (Формы Windows)
Документация по обработке событий
Событие MouseDown (Кнопка мыши нажата)

Шаг 2: Обработка событий мыши
Шаг 2М: Несколько обработчиков для события
Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)
Меню
Шаг 4: Меню для выхода из программы
Код меню
Код события Menu (Меню)
Управляющие элементы
Шаг 5: Использование управляющего элемента TextBox (Поле)
Visual Studio.NET и формы

Демонстрация Windows Forms (Формы Windows)
Окно конструктора (Design window) и окно кода (Code window)
Добавление события
Код обработчика события
Использование управляющего элемента Menu (Меню)
Закрытие формы (Выход из формы)
Диалоговые окна
Документация по диалогам .NET
Демонстрация диалогового окна
Управляющий элемент ListBox (Список элементов)

Начальная загрузка списка элементов
Выбор элемента в списке элементов ListBox
Пример бюро путешествий Acme (Acme Travel Agency) — шаг 3
Резюме

Сборки и развертывание


Сборки и развертывание
Сборки
Содержимое сборки
Частное развертывание сборки
Общедоступное развертывание сборки

Строгие имена
Цифровые сигнатуры (подписи)
Цифровая подпись и развертывание общедоступной сборки
Управление версиями общедоступных компонентов
Подписание в цифровой форме после компиляции
Конфигурация сборки
Проводимая по умолчанию политика управления версиями
Файлы конфигурации политики управления версиями
Обнаружение физического местоположения сборки
Многомодульные, или мультимодульные сборки

Инсталляция примера программной системы
Установка и развертывание проектов
CAB Project (Проект CAB)
Проект установки (Setup Project)
Merge Module Project (Проект модуля слияния)
Развертывание по сети
Резюме

Классы каркаса .NET Framework


Классы каркаса .NET Framework
Метаданные и отражение

Класс туре (Тип)
Динамическое связывание
Ввод и вывод в .NЕТ
Потоковые классы
Примитивные типы данных и потоки
TextReader И TextWriter
Обработка файлов
Сериализация, или преобразование в последовательную форму
Объекты сериализации
ISerializable

Модель приложений .NET
Потоки
Изоляция потоков
Синхронизация коллекций
Контекст
Заместители и заглушки
ContextBoundObject
Изоляция приложений
Прикладная область
Прикладные области и сборки

Класс AppDomain (Прикладная область)
События AppDomain (Прикладная область)
Пример AppDomain (Прикладная область)
Маршализация, прикладные области и контексты
Асинхронное программирование
Асинхронные шаблоны проектирования
lAsyncResult
Использование делегатов в асинхронном программировании
Организация поточной обработки с параметрами
Удаленный доступ

Краткий обзор удаленного доступа
Удаленные объекты
Активация
Пример удаленного объекта
Пример программы, реализующей удаленный доступ
Метаданные и удаленный доступ
Конфигурационные файлы удаленного доступа
Программируемые атрибуты
Использование самостоятельно созданного атрибута
Определение класса атрибута

Определение базового класса
Сборка мусора
Уничтожение объектов
Неуправляемые ресурсы и освобождение ранее выделенной области памяти
Поколения
Завершение и раскручивание стека
Управление сборкой мусора с помощью класса сборщика мусора GC
Программа-пример
Резюме

Программирование в ADO.NET


Программирование в ADO.NET
Источники данных
Проводник Visual Studio.NET по серверу: Server Explorer
Установление соединения
Устройства считывания данных
Работа с базой данных в соединенном режиме
Выполнение операторов SQL
DataReader
Множественное результирующее множество
Коллекция параметров

Классы SqlDataAdapter и DataSet (Набор данных)
Отсоединенный режим
Коллекции объектов DataSet (Набор данных)
Основные сведения о наборах данных
Обновление источника данных
Автоматически генерируемые свойства команд
Транзакции и обновление базы данных
Объект DataSet (Набор данных) и сравнение пессимистического блокирования с оптимистическим
Использование наборов данных
Множественные таблицы в объекте DataSet (Набор данных)

Создание таблицы без обращения к источнику данных
Ограничения и связи
Получение информации о схеме размещения данных в объекте DataTabie (Таблица данных)
Изменение объекта DataRow
Пример приложения Acme Travel Agency (Туристическое агентство Acme)
Доступ к данным XML
Схема и данные XML
XmlDataDocument
DataSet (Набор данных) и XML
База данных AirlineBrokers

DataSet (Набор данных) и XML
Создание документа XML из объекта DataSet (Набор данных)
Резюме

ASP.NET и Web-формы


ASP.NET и Web-формы
Что такое ASP.NET?

Основные принципы создания Web-приложения
Программа на С#: Echo (Эхо)
Возможности ASP.NET
Архитектура Web-форм
Класс Page (Страница)
Время существования страниц с Web-формами
Состояние представления (вида)
Модель событий Web-форм
Обработка страницы
Трассировка

Программирование запросов и ответов
Класс HttpRequest
Класс HttpResponse
Изучение конкретного примера
Web-страница с информацией о гостиницах
Привязка данных
Приложения ASP.NET
Сеансы
Global.asax
Состояния в приложениях ASP.NET

Статические элементы данных
Объект Application (Приложение)
Объект Session (Сеанс)
Конфигурация ASP.NET
Файлы конфигурации
Дополнительная информация об ASP.NET
Резюме

Web-службы


Web-службы
Протоколы

Язык XML
Пространства имен XML (XML Namespeces)
Схема XML (XML schema)
Протокол SOAP
Язык описания Web-служб WSDL
Архитектура Web-службы
Пример Web-службы Add (Сложение)
Просмотр Web-службы Add (Сложение) при помощи броузера
Отладка Web-службы Add (Сложение)
Клиент для Web-службы Add (Сложение)

Язык описания Web-служб (Web Services Description Language — WSDL)
Классы-заместители
Клиент web-службы, использующий необработанные данные SOAP и протокол передачи гипертекстовых файлов HTTP
Особенности форматирования данных согласно спецификации SOAP
Класс WebService
Использование шаблона Managed C++ web Service (Web-службы на управляемом C++)
Код, генерируемый шаблоном Managed C++ Web Service (Web-служба на управляемом C++)
Арифметическая Служба Сети, или Web-служба Arithmetic (Арифметика)
Использование внутренних объектов
Web-служба Hotel Broker (Брокер гостиницы)

Web-служба Customer (Клиент)
Web-служба Hotel Broker (Брокер гостиницы)
Соображения по поводу проектирования
Резюме

Web-узлы и Web-службы, работающие на основе ATL Server


Web-узлы и Web-службы, работающие на основе ATL Server
История технологий, работающих с динамическим содержимым Web
Приложения на основе ATL Server
ATL Server основан на интерфейсе прикладного программирования Internet-сервера (ISAPI)
Архитектура приложения, использующего ATL server

Создание проекта ATL Server Project (Проект на основе ATL Server)
Динамически подключаемая библиотека (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI)
Динамически подключаемая библиотека (DLL) Web-приложения
Создание и запуск проекта на основе ATL Server
Добавление в сервер еще одного обработчика
Добавление на сервер обработки управляющей структуры if-else-endif
Добавление на сервер обработки управляющей структуры while-endwhile
Передача параметров серверному обработчику
Поддержка состояния сеанса
Получение доступа к переменным сервера

Обработка форм
Службы сеанса
Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project)
Код Web-службы на основе ATL Server: ATLServerWebService.h
Создание клиентской программы, обращающейся к Web-службе
Добавление функций в Web-службу на основе ATL Server
Изменение клиентской программы, работающей с Web-службой
Передача структур в качестве входных и выходных параметров
Резюме

Защита


Защита
Защита на основе пользователей
Защита доступа к коду
Политика безопасности
Разрешения
lnternet-безопасность
Информационный сервер Internet: Internet Information Server (IIS)
Защита .NET на основе ролей
Принципалы и личности
Роли .NET в Windows

Другие классы личностей
Личность в операционной системе и общеязыковой среде выполнения CLR
Разрешения коду на доступ
Простой запрос разрешения кодом
Как работает запрос на разрешение
Стратегия запроса разрешений
Запрет разрешений
Утверждение разрешений
Другие методы разрешений
Класс SecurityPermission

Неуправляемый код
Разрешения на основе атрибутов
Разрешение принципала
Класс PermissionSet
Личность кода
Классы разрешений для личности
Подтверждение
Политика безопасности
Уровни политики безопасности
Кодовые группы

Именованные наборы разрешений
Изменение политики безопасности
Резюме

Трассировка и отладка в .NET


Трассировка и отладка в .NET
Пример TraceDemo
Разворачивание TraceDemo.exe.config
Использование классов Debug (Отладка) и Trace (Трассировка)
Использование переключателей для активизации диагностики
Активация и деактивация переключателей

Установка переключателей в файле конфигурации
Установка переключателей программным путем
Использование переключателей для управления выводом
Класс TraceListener
Коллекция слушателей
Резюме

Смешивание управляемого и неуправляемого кода


Смешивание управляемого и неуправляемого кода
Сравнение управляемого и неуправляемого кода
Причины смешивания управляемого и неуправляемого кодов

Неуправляемый или опасный?
Управляемые и неуправляемые ссылки и типы значений
Ограничения на использование управляемых типов в C++
Вызов управляемого кода из неуправляемого и обратный вызов
Сравнение программирования на C++ с использованием модели компонентных объектов Microsoft (COM) и .NET
Доступ из управляемого кода к компонентам, построенным на основе модели компонентных объектов Microsoft (COM)
Сервисная программа Tibinp.ехе
Унаследованный компонент на основе модели компонентных объектов Microsoft (COM)
Действующий клиент на основе модели компонентных объектов Microsoft (COM)
Создание клиента на основе модели компонентных объектов Microsoft (COM) с помощью управляемого C++

Разработка управляемого клиента на основе модели компонентных объектов Microsoft (COM) с помощью С#
Создание с помощью управляемого C++ клиента на основе модели компонентных объектов Microsoft (COM) без метаданных
Создание с помощью С# управляемого клиента на основе модели компонентных объектов Microsoft (COM) без метаданных
Доступ к управляемым компонентам из клиентов на основе модели компонентных объектов Microsoft (COM)
Раннее связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET
Динамическое связывание клиента на основе модели компонентных объектов Microsoft (COM) с компонентами .NET
Явное определение интерфейса
Службы обращения к платформе: Plnvoke (Platform Invocation Services)
Резюме

Приложение А. Visual Studio.NET


Visual Studio.NET
Обзор Visual Studio.NET
Панели инструментов
Создание консольного приложения
Создание проекта C++
Добавление файла на C++
Использование текстового редактора Visual Studio
Компиляция проекта
Запуск программы
Запуск программы в отладчике

Конфигурирование проектов
Создание новой конфигурации
Установка параметров компоновки приложения в конфигурации
Отладка
Оперативная отладка
Обычная отладка, точки останова
Резюме



Начало